Modern business and scientific endeavors frequently require that vast amounts of data stored on computer systems be accessed and analyzed to provide solutions to everyday problems. To facilitate the analysis of such vast amounts of data, a variety of computer software tools have been developed to access data bases, to graph data, and to perform various forms of statistical analysis of such data.
Frequently, a variety of such software tools are combined in a single integrated package referred to generally as a statistical analysis package. While the combination of a variety of statistical analysis tools in a single software package has greatly facilitated the process of data analysis in general, known data analysis packages still have many drawbacks associated largely with ease of use.
Ease of use relates to a user's ability to quickly and efficiently analyze data in order to solve problems through the use of a software package. It also relates to a user's ability to repeat previously performed analysis on new sets of data, to continue a data analysis process after having been interrupted before completing a particular data analysis task, and to generate data analysis results in a format that explains not only the results but also how they were obtained.
One approach used to make data analysis packages easier to use has been based on the idea of graphical programming. In accordance with this concept, data sets, data analysis operations and graphics operations are represented as individual graphical elements on a screen. A person seeking to perform specific data analysis on one or more data sets graphically links elements representing the data set to be processed to one or more graphically represented data analysis operations. In this manner, a user manually generates a graphic representation or graphical data flow diagram (hereinafter "GDFD") of the data analysis steps to be performed on a selected data set through the use of a graphical programming interface. The IRIS Explorer by Silicon Graphics Computer Systems is an example of one data analysis package that supports such a graphical programming interface feature.
The use of such graphical programming interfaces offers several ease of use advantages over other more conventional approaches to data analysis interfaces. For example, a relatively inexperienced user can easily combine various data analysis modules graphically to perform complex data analysis tasks, e.g., by linking graphically represented modules together with arrows, while having relatively little understanding of how the modules or underlying program operates. Furthermore, the GDFD directly created by the user to perform the data analysis functions provides a graphic representation of the data analysis process performed.
Such a GDFD of the data analysis steps performed may facilitate the repeating of previously specified analysis on new sets of data and presents an easy to explain graphical representation of both the data analysis steps performed and the results which were generated. In addition, the graphic map generated by the user through the use of the graphical programming interface serves both to remind the user what analysis steps have been performed and provides a record of the data processing steps that can be stored, retrieved, and graphically modified to be used with future data analysis applications.
While graphical programming interfaces offer many ease of use advantages when applied to data analysis packages, they also have several drawbacks. For instance, such graphical programming interfaces generally require a user to become accustomed to representing a data analysis process as a series of graphical steps and to conduct data analysis and graphics operations through the use of a graphical interface which differs substantially from the pull-down menu type interfaces many users are accustomed to using.
Thus, in a graphical programming interface environment a user is frequently confronted with an unfamiliar command environment where the user may end up spending time concentrating on the graphical representation of steps and the order in which the steps must be performed to satisfy the requirements of the graphical programming language or interface rather then simply concentrating on solving the problem presented for analysis.
Thus, it is desirable to obtain the ease of use advantages offered by the graphical map which results from a graphical programming interface environment while eliminating the need for the user to create such a map through graphical programming.
Accordingly, there is a need for a computer interface system, that will automatically generate a graphical representation of a series of operations performed by a computer in response to a user accessing a series of pull-down menus, linked together according to the functional relationships that exist between the performed operations.
Furthermore, there is a need to implement such a computer interface system in the context of a data analysis package to facilitate the recording, reproducing, and later editing of the series of data analysis operations performed during a work session.